package com.lht.cozyCloud.bee.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lht.cozyCloud.common.core.annotation.Excel;
import com.lht.cozyCloud.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * @author lht
 * @version 1.0
 * @description: 短信模板，用于配置不同的短信模板
 * @date 2025/1/2 10:23
 */

public class MessageTemplate extends BaseEntity {

    private static final long serialVersionUID = 1L;

    // 主键
    @Excel(name = "主键", cellType = Excel.ColumnType.NUMERIC)
    private Long templateId;

    // 模板名称
    @Excel(name = "模板名称")
    private String name;

    // 短信签名
    @Excel(name = "短信签名")
    private String sign;

    // 模板内容
    @Excel(name = "模板内容")
    private String content;

    // 模板类型
    @Excel(name = "模板类型")
    private String type;

    // 平台类型
    @Excel(name = "平台类型")
    private Integer systemType;

    // 发送对象类型
    @Excel(name = "发送对象类型")
    private Integer objectType;

    // 发送类型
    @Excel(name = "发送类型")
    private Integer sendType;

    // 状态  1正常 0停用
    @Excel(name = "状态")
    private Integer status;

    // 重发次数
    @Excel(name = "重发次数")
    private Integer reCount;

    // 发送时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发送时间")
    private String sendTime;

    // 描述
    @Excel(name = "描述")
    private String desc;

    public Long getTemplateId() {
        return templateId;
    }

    public void setTemplateId(Long templateId) {
        this.templateId = templateId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Integer getSystemType() {
        return systemType;
    }

    public void setSystemType(Integer systemType) {
        this.systemType = systemType;
    }

    public Integer getObjectType() {
        return objectType;
    }

    public void setObjectType(Integer objectType) {
        this.objectType = objectType;
    }

    public Integer getSendType() {
        return sendType;
    }

    public void setSendType(Integer sendType) {
        this.sendType = sendType;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getReCount() {
        return reCount;
    }

    public void setReCount(Integer reCount) {
        this.reCount = reCount;
    }

    public String getSendTime() {
        return sendTime;
    }

    public void setSendTime(String sendTime) {
        this.sendTime = sendTime;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
    // 保留无参构造
    public MessageTemplate() {
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("templateId", templateId)
                .append("name", name)
                .append("sign", sign)
                .append("content", content)
                .append("type", type)
                .append("systemType", systemType)
                .append("objectType", objectType)
                .append("sendType", sendType)
                .append("status", status)
                .append("reCount", reCount)
                .append("sendTime", sendTime)
                .append("desc", desc)
                .toString();
    }
}
